/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: COFFEEWEN
 * Date: 2022-08-11
 * Time: 18:25
 */

public class Test {
//    public String addStrings(String num1, String num2) {
//        char[] ch = num1.toCharArray();
//        int n = 0;
//        for (int i = 0;i<ch.length;i++){
//            //在0-9字符之间 -'0' 转换成数字
//            //每次n*10 进位
//            if (ch[i] >= '0' && ch[i] <= '9'){
//                n = (ch[i]-'0')+n*10;
//            }
//        }
//        char[] ch2 = num2.toCharArray();
//        int n2 = 0;
//        for (int i = 0;i<ch2.length;i++){
//            //在0-9字符之间 -'0' 转换成数字
//            //每次n*10 进位
//            if (ch2[i] >= '0' && ch2[i] <= '9'){
//                n2 = (ch2[i]-'0')+n2*10;
//            }
//        }
//        long n3 = n+n2;
//        String s =String.valueOf(n3);
//        return  s;
//    }
//
//
//    class Solution {
//        public int[] twoSum(int[] nums, int target) {
//            for (int i = 0; i < nums.length; i++) {
//                for (int j = i + 1; j < nums.length; j++) {
//
//                    if (nums[i] + nums[j] == target) {
//                        return new int[]{i, j};
//                    }
//                }
//            }
//            return new int[-1,-1];
//        }
//    }

//class Solution {
//    public int lengthOfLongestSubstring(String s) {
//        int n = 0;
//        char[] ch = s.toCharArray();
//        char[] hash = new char[ch.length];
//        for (int i = 0;i < ch.length;i++){
//            hash[ch[i]]++;
//        }
//        int max = -1;
//        for (int i = 0;i < ch.length;i++){
//            if (hash[i] > max){
//                max = hash[i];
//            }
//        }
//        return max;
//    }
//}

    public static double findMedianSortedArrays(int[] nums1, int[] nums2) {
        int len = nums1.length;
        int len2 = nums2.length;
        int mid = len/2;
        int left = 0;
        int right = len-1;
        while (left < right){
            if (nums1[mid] > left){
                mid = left+1;
            }else if (nums1[mid] < right){
                mid = right-1;
            }
            left++;
            right--;
        }
        int mid2 = len2/2;
        left = 0;
        right = len2-1;
        while (left < right){
            if (nums2[mid2] > left){
                mid2 = left+1;
            }else if (nums2[mid2] < right){
                mid2 = right-1;
            }
            left++;
            right--;

        }
        double d = (nums1[mid]+nums2[mid2])/2.0;
        return d;
    }


    public static void main(String[] args) {
        int[] n = {1,3};
        int[] m = {2,2,5};
        double d = findMedianSortedArrays(n,m);
        System.out.println(d);
      //  String s = (String)n;
    }
}
